Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Commit 4482ebf5cd795976e3d0944e65cc1778da0eb2bf


Parents : 4507a99
Author : Sudo-Ivan <ivan@quad4.io>
Signature : Signature validation error
Date : 2026-01-04T12:41:49-06:00

feat(locales): update translations for emergency mode, blackhole integration, and RNCP usage instructions

Changes

3 files changed, 43 insertions(+), 13 deletions(-)


Diff

diff --git a/meshchatx/src/frontend/locales/de.json b/meshchatx/src/frontend/locales/de.json
index 19bac24e..c5dc97b0 100644
--- a/meshchatx/src/frontend/locales/de.json
+++ b/meshchatx/src/frontend/locales/de.json
@@ -161,7 +161,9 @@
"sync_error": "Synchronisierungsfehler: {status}",
"switching_identity": "Identität wird gewechselt...",
"loading_identity": "Ihre Identität wird geladen",
- "emergency_mode_active": "Notfallmodus aktiv - In-Memory-Datenbank und eingeschränkte Dienste werden verwendet."
+ "emergency_mode_active": "Notfallmodus aktiv - In-Memory-Datenbank und eingeschränkte Dienste werden verwendet.",
+ "blackhole_integration_enabled": "Blackhole-Integration",
+ "blackhole_integration_description": "Identitäten automatisch auf der Reticulum-Transportebene sperren (Blackhole), wenn Benutzer in MeshChatX verbannt werden."
},
"common": {
"open": "Öffnen",
@@ -504,6 +506,10 @@
"title": "RNStatus",
"description": "Schnittstellenstatistiken und Netzwerkstatusinformationen anzeigen."
},
+ "rnpath": {
+ "title": "RNPath",
+ "description": "Verwalten Sie die Pfadtabelle, sehen Sie Ankündigungsraten und fordern Sie Pfade an."
+ },
"translator": {
"title": "Übersetzer",
"description": "Text mit der LibreTranslate API oder lokalem Argos Translate übersetzen."
@@ -560,7 +566,11 @@
"rncp": {
"file_transfer": "Dateiübertragung",
"title": "RNCP - Reticulum Network Copy",
- "description": "Senden und Empfangen von Dateien über das Reticulum-Netzwerk unter Verwendung von RNS-Ressourcen.",
+ "description": "Senden und Empfangen von Dateien über das Reticulum-Netzwerk unter Verwendung von RNS-Ressourcen. Dieses Tool ermöglicht eine zuverlässige Dateiübertragung zwischen Mesh-Knoten, selbst über Verbindungen mit hoher Latenz.",
+ "usage_steps": "Verwendung von RNCP:",
+ "step_1": "1. Um eine Datei zu **empfangen**, gehen Sie zum Tab **Hören**, geben Sie erlaubte Identitäts-Hashes ein (wer an Sie senden darf) und klicken Sie auf **Hören starten**.",
+ "step_2": "2. Um eine Datei zu **senden**, besorgen Sie sich den **Ziel-Hash** eines hörenden Knotens, geben Sie den **lokalen Dateipfad** ein und klicken Sie auf **Datei senden**.",
+ "step_3": "3. Um eine Datei **abzurufen**, besorgen Sie sich den **Ziel-Hash** eines Knotens, der mit aktiviertem 'Abruf zulassen' hört, geben Sie den **Remote-Dateipfad** ein und klicken Sie auf **Datei abrufen**.",
"send_file": "Datei senden",
"fetch_file": "Datei abrufen",
"listen": "Hören",

diff --git a/meshchatx/src/frontend/locales/en.json b/meshchatx/src/frontend/locales/en.json
index f2771581..32fbd9f0 100644
--- a/meshchatx/src/frontend/locales/en.json
+++ b/meshchatx/src/frontend/locales/en.json
@@ -131,9 +131,9 @@
"smart_crawler": "Smart Crawler",
"authentication": "Authentication",
"banishment": "Banishment",
- "banishment_description": "Customize the visual effect shown for blocked peers and nodes.",
+ "banishment_description": "Customize the visual effect shown for banished peers and nodes.",
"banished_effect_enabled": "Enable Banishment Effect",
- "banished_effect_description": "Show a visual overlay on blocked peers and nodes.",
+ "banished_effect_description": "Show a visual overlay on banished peers and nodes.",
"banished_text_label": "Banishment Text",
"banished_text_description": "Custom message to display on the overlay.",
"banished_color_label": "Banishment Color",
@@ -161,14 +161,16 @@
"sync_error": "Sync error: {status}",
"switching_identity": "Switching Identity...",
"loading_identity": "Loading your identity",
- "emergency_mode_active": "Emergency Mode Active - Using in-memory database and restricted services."
+ "emergency_mode_active": "Emergency Mode Active - Using in-memory database and restricted services.",
+ "blackhole_integration_enabled": "Blackhole Integration",
+ "blackhole_integration_description": "Automatically blackhole identities at the Reticulum transport layer when banishing users in MeshChatX."
},
"common": {
"open": "Open",
"close": "Close",
"cancel": "Cancel",
"save": "Save",
- "block": "Block",
+ "block": "Banish",
"delete": "Delete",
"edit": "Edit",
"add": "Add",
@@ -428,12 +430,12 @@
"add_nodes_from_announces": "Add nodes from the announces tab.",
"search_announces": "Search announces",
"announced_time_ago": "Announced {time} ago",
- "block_node": "Block Node",
+ "block_node": "Banish Node",
"no_announces_yet": "No announces yet",
"listening_for_peers": "Listening for peers on the mesh.",
- "block_node_confirm": "Are you sure you want to block {name}? Their announces will be ignored and they won't appear in the announce stream.",
- "node_blocked_successfully": "Node blocked successfully",
- "failed_to_block_node": "Failed to block node",
+ "block_node_confirm": "Are you sure you want to banish {name}? Their announces will be ignored and they won't appear in the announce stream.",
+ "node_blocked_successfully": "Node banished successfully",
+ "failed_to_block_node": "Failed to banish node",
"rename_favourite": "Rename this favourite",
"remove_favourite_confirm": "Are you sure you want to remove this favourite?",
"enter_nomadnet_url": "Enter a Nomadnet URL",
@@ -504,6 +506,10 @@
"title": "RNStatus",
"description": "View interface statistics and network status information."
},
+ "rnpath": {
+ "title": "RNPath",
+ "description": "Manage the path table, view announce rates and request paths."
+ },
"translator": {
"title": "Translator",
"description": "Translate text using LibreTranslate API or local Argos Translate."
@@ -560,7 +566,11 @@
"rncp": {
"file_transfer": "File Transfer",
"title": "RNCP - Reticulum Network Copy",
- "description": "Send and receive files over the Reticulum network using RNS resources.",
+ "description": "Send and receive files over the Reticulum network using RNS resources. This tool allows for reliable file transfer between mesh nodes even over high-latency links.",
+ "usage_steps": "How to use RNCP:",
+ "step_1": "1. To **receive** a file, go to the **Listen** tab, enter allowed identity hashes (who can send to you), and click **Start Listening**.",
+ "step_2": "2. To **send** a file, get the **Destination Hash** of a listening node, enter the **Local File Path**, and click **Send File**.",
+ "step_3": "3. To **fetch** a file, get the **Destination Hash** of a node listening with 'Allow Fetch' enabled, enter the **Remote File Path**, and click **Fetch File**.",
"send_file": "Send File",
"fetch_file": "Fetch File",
"listen": "Listen",

diff --git a/meshchatx/src/frontend/locales/ru.json b/meshchatx/src/frontend/locales/ru.json
index a5aafa2d..5bfacf03 100644
--- a/meshchatx/src/frontend/locales/ru.json
+++ b/meshchatx/src/frontend/locales/ru.json
@@ -161,7 +161,9 @@
"sync_error": "Ошибка синхронизации: {status}",
"switching_identity": "Переключение личности...",
"loading_identity": "Загрузка вашей личности",
- "emergency_mode_active": "Аварийный режим активен — используется база данных в оперативной памяти и ограниченные службы."
+ "emergency_mode_active": "Аварийный режим активен — используется база данных в оперативной памяти и ограниченные службы.",
+ "blackhole_integration_enabled": "Интеграция Blackhole",
+ "blackhole_integration_description": "Автоматически блокировать (blackhole) личности на транспортном уровне Reticulum при изгнании пользователей в MeshChatX."
},
"common": {
"open": "Открыть",
@@ -504,6 +506,10 @@
"title": "RNStatus",
"description": "Статистика интерфейсов и информация о состоянии сети."
},
+ "rnpath": {
+ "title": "RNPath",
+ "description": "Управление таблицей путей, просмотр частоты анонсов и запрос путей."
+ },
"translator": {
"title": "Translator",
"description": "Перевод текста через LibreTranslate API или локальный Argos Translate."
@@ -560,7 +566,11 @@
"rncp": {
"file_transfer": "Передача файлов",
"title": "RNCP - Reticulum Network Copy",
- "description": "Отправка и получение файлов через сеть Reticulum с использованием ресурсов RNS.",
+ "description": "Отправка и получение файлов через сеть Reticulum с использованием ресурсов RNS. Этот инструмент обеспечивает надежную передачу файлов между узлами сети даже через каналы с высокой задержкой.",
+ "usage_steps": "Как использовать RNCP:",
+ "step_1": "1. Чтобы **получить** файл, перейдите на вкладку **Прослушивание**, введите разрешенные хеши идентичности (кто может присылать вам файлы) и нажмите **Начать прослушивание**.",
+ "step_2": "2. Чтобы **отправить** файл, получите **Хеш назначения** прослушиваемого узла, введите **Локальный путь к файлу** и нажмите **Отправить файл**.",
+ "step_3": "3. Чтобы **запросить** файл, получите **Хеш назначения** узла, прослушивающего с включенной опцией 'Разрешить получение', введите **Удаленный путь к файлу** и нажмите **Получить файл**.",
"send_file": "Отправить файл",
"fetch_file": "Получить файл",
"listen": "Прослушивание",


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────